// $Id$
package cz.pd.projectbuilder.beans.load;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import java.io.Serializable;
import java.util.ArrayList;

/**
 * 
 * @author diblik
 * @version $Revision$
 */
@XStreamAlias("projectBuilder")
public class ProjectBuilderBean implements Serializable {

  private static final long serialVersionUID = -2700016271774262602L;

//  @XStreamImplicit
  @XStreamAlias("projekty")
  private ArrayList<ProjectGroupBean> projectGroupBeans;

//  @XStreamImplicit
  @XStreamAlias("suity")
  private ArrayList<ProjectGroupBean> suiteGroupBeans;

//  @XStreamImplicit
  @XStreamAlias("akce")
  private ArrayList<ActionBean> actionBeans;

  @XStreamAlias("configurace")
  private ConfigBean configBean;

  public ProjectBuilderBean(ArrayList<ProjectGroupBean> projectGroupBeans,
                            ArrayList<ActionBean> actionBeans, ArrayList<ProjectGroupBean> suiteGroupBeans,
                            ConfigBean configBean) {
    this.projectGroupBeans = projectGroupBeans;
    this.suiteGroupBeans = suiteGroupBeans;
    this.actionBeans = actionBeans;
    this.configBean = configBean;
  }

  public ProjectBuilderBean(ArrayList<ProjectGroupBean> projectGroupBeans,
                            ArrayList<ActionBean> actionBeans,
                            ArrayList<ProjectGroupBean> suiteGroupBeans) {
    this.projectGroupBeans = projectGroupBeans;
    this.actionBeans = actionBeans;
    this.suiteGroupBeans = suiteGroupBeans;
  }

  public ProjectBuilderBean(ArrayList<ProjectGroupBean> projectGroupBeans,
                            ArrayList<ActionBean> actionBeans) {
    this.projectGroupBeans = projectGroupBeans;
    this.actionBeans = actionBeans;
  }

  public ArrayList<ActionBean> getActionBeans() {
    return actionBeans;
  }

  public void setActionBeans(ArrayList<ActionBean> actionBeans) {
    this.actionBeans = actionBeans;
  }

  public ArrayList<ProjectGroupBean> getProjectGroupBeans() {
    return projectGroupBeans;
  }

  public void setProjectGroupBeans(ArrayList<ProjectGroupBean> projectGroupBeans) {
    this.projectGroupBeans = projectGroupBeans;
  }

  public ArrayList<ProjectGroupBean> getSuiteGroupBeans() {
    return suiteGroupBeans;
  }

  public void setSuiteGroupBeans(ArrayList<ProjectGroupBean> suiteGroupBeans) {
    this.suiteGroupBeans = suiteGroupBeans;
  }

  public ConfigBean getConfigBean() {
    return configBean;
  }

  public void setConfigBean(ConfigBean configBean) {
    this.configBean = configBean;
  }

  @Override
  public String toString() {
    return " " + projectGroupBeans.toString() + "\n " + actionBeans.toString();
  }
}
